#ifndef __PMU_HH__
#define __PMU_HH__

#include <vector>
#include <iostream>

namespace gem5 {

  class Counter {
    public:
      ~Counter();
      Counter();

      void count();
      void reset();
  };

  class PangooPMU {
    public:
      ~PangooPMU();
      PangooPMU();

      void write();
      void read();

    private:
      std::vector<Counter> counterVec;

      void update();
      void reset();
  };

}
#endif
